#ifndef DETECT_LOOP_H
#define DETECT_LOOP_H

#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/core/types_c.h>
#include <opencv2/highgui.hpp>
#include "Detecting.h"
#include "image_cutting_together.h"
#include "line_detect.h"
#include <vector>
#include <string>

class detect_loop
{
public:
    detect_loop(std::string path_loop_it);
    ~detect_loop();
    std::string path_loop;
    YOLOv3::Detecting * detector_for_crack_ptr;
    std::vector<YOLOv3::DetectResult> * result_container_ptr = new std::vector<YOLOv3::DetectResult>;
    image_cutter_together * cutter_ptr = new image_cutter_together;
    line_detecter * line_detecter_ptr = new line_detecter;
    void yolo_v3_introduction_weights();
    void yolo_crack_detect_imitate(cv::Mat & img_to_crack , cv::Mat & crack_result);
    void yolo_crack_detect_on_parameters(cv::Mat & img_to_crack , cv::Mat & crack_result,int up,int down);
};


#endif